package bancosys.tec.security.impl.web;

import javax.security.auth.Subject;

import bancosys.tec.security.SecurityException;
import bancosys.tec.security.SecurityManager;

/**
 * Interface para implementações de SecurityManager para aplicações WEB
 * 
 * @author lundberg
 */
public interface WebSecurityManager extends SecurityManager<WebSecurityContext> {
    String SESSION_KEY = WebSecurityManager.class.getName() + ".SUBJECT";
    
    String PUBLIC_CREDENTIALS_KEY = "protected." + WebSecurityManager.class.getName() + ".credentials.public";
    
    String PRIVATE_CREDENTIALS_KEY = "protected." + WebSecurityManager.class.getName() + ".credentials.private";

    /**
     * {@inheritDoc}
     */
    Subject loadSubject(WebSecurityContext context) throws SecurityException;
}
